<!DOCTYPE HTML>
<html>
<head>
<title>ClipWait | AutoHotkey</title>
<meta name="description" content="The ClipWait command waits until the clipboard contains data." />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>ClipWait</h1>

<p>等待, 一直到<a href="../misc/Clipboard.htm">剪贴板</a>包含数据.</p>

<pre class="Syntax"><span class="func">ClipWait</span> <span class="optional">, Timeout, WaitForAnyData</span></pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>Timeout</dt>
  <dd><p>如果省略, 此命令将无限期等待. 否则, 它将等待不超过这个秒数的时间(可以包含小数点或为<a href="../Variables.htm#Expressions">表达式</a>). 指定 0 等同于指定 0.5.</p></dd>

  <dt>WaitForAnyData</dt>
  <dd><p>如果此参数省略或为 0(false), 此命令会更有选择性, 明确地等待剪贴板中出现文本或文件("文本" 包含任何当您粘贴到记事本时会产生文本的内容). 如果此参数为 1(true)(可以为<a href="../Variables.htm#Expressions">表达式</a>), 此命令会等待剪贴板中出现任何类型的数据.</p></dd>

</dl>

<h2 id="ErrorLevel">ErrorLevel</h2>
<p>如果到达等待期限, <a href="../misc/ErrorLevel.htm">ErrorLevel</a> 将被置为 1. 否则(即剪贴板包含数据), ErrorLevel 被置为 0.</p>
<h2 id="Remarks">备注</h2>
<p>使用此命令比您在一个循环中检查剪贴板是否为空要好. 这是由于此命令从不打开剪贴板, 因此执行地更好并且避免了对可能使用剪贴板的其他程序的干扰.</p>
<p>此命令把任何可转换成文本的内容(例如 HTML) 视为文本. 它也把文件, 例如从资源管理器窗口中通过 <kbd>Ctrl</kbd>+<kbd>C</kbd> 复制的文件视为文本. 每当在脚本中引用剪贴板变量(%clipboard%) 时, 这些文件被自动转换成它们的文件名(完整路径). 有关详细信息, 请参阅<a href="../misc/Clipboard.htm">剪贴板</a>.</p>
<p>当最后一个参数为 1(true) 时, 剪贴板中出现任何数据都将符合此命令. 这种特性可以和 <a href="../misc/Clipboard.htm#ClipboardAll">ClipboardAll</a> 结合使用来保存像图片这样的非文本数据.</p>
<p>当此命令处于等待状态时, 可以通过<a href="../Hotkeys.htm">热键</a>, <a href="Menu.htm">自定义菜单项</a>或<a href="SetTimer.htm">计时器</a>启动新的<a href="../misc/Threads.htm">线程</a>.</p>
<p>第一个参数可以是浮点值, 例如, 0.25 等待最多 250 毫秒.</p>
<h2 id="Related">相关</h2>
<p><a href="../misc/Clipboard.htm">Clipboard</a>, <a href="WinWait.htm">WinWait</a>, <a href="KeyWait.htm">KeyWait</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a class="ex_number" href="#ExBasic"></a> 清空剪贴板, 将当前选区复制到剪贴板, 最多等待 2 秒, 直到剪贴板包含数据. 如果 ClipWait 超时, 将显示错误信息, 否则将显示剪贴板内容.</p>
<pre>clipboard := "" <em>; 清空剪贴板</em>
Send, ^c
ClipWait, 2
if ErrorLevel
{
    MsgBox, The attempt to copy text onto the clipboard failed.
    return
}
MsgBox, clipboard = %clipboard%
return</pre>
</div>

</body>
</html>